package com.agriculture.domain;

import java.math.BigDecimal;
import java.util.Date;

public class Product {
    private Long productId;
    private String productName;      // 商品名称
    private String type;             // 商品类型：agricultural/processed
    private String category;         // 类别：grain/vegetable/poultry/fruit
    private BigDecimal price;        // 价格
    private BigDecimal sellingPrice; // 销售价格
    private String unit;             // 单位
    private Integer stock;           // 库存
    private String status;           // 状态：on_sale/off_shelf/sold_out
    private Long ownerId;            // 所有者ID
    private String ownerType;        // 所有者类型：farmer/dealer
    private String description;      // 商品描述
    private String imageUrl;         // 商品图片URL
    private Date harvestDate;        // 收获日期
    private Date createdAt;          // 创建时间
    private Date updateTime;         // 更新时间
    private String ownerName;        // 所有者名称（农民或经销商）
    private String farmerName;  // 添加农户名称字段

    // Getters
    public Long getProductId() {
        return productId;
    }

    public String getProductName() {
        return productName;
    }

    public String getType() {
        return type;
    }

    public String getCategory() {
        return category;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public BigDecimal getSellingPrice() {
        return sellingPrice;
    }

    public String getUnit() {
        return unit;
    }

    public Integer getStock() {
        return stock;
    }

    public String getStatus() {
        return status;
    }

    public Long getOwnerId() {
        return ownerId;
    }

    public String getOwnerType() {
        return ownerType;
    }

    public String getDescription() {
        return description;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public Date getHarvestDate() {
        return harvestDate;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public String getFarmerName() {
        return farmerName;
    }

    // Setters
    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public void setType(String type) {
        this.type = type;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public void setSellingPrice(BigDecimal sellingPrice) {
        this.sellingPrice = sellingPrice;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public void setOwnerId(Long ownerId) {
        this.ownerId = ownerId;
    }

    public void setOwnerType(String ownerType) {
        this.ownerType = ownerType;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public void setHarvestDate(Date harvestDate) {
        this.harvestDate = harvestDate;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public void setFarmerName(String farmerName) {
        this.farmerName = farmerName;
    }
}